#ifndef __ProblemInterface_h
#define __ProblemInterface_h

#include "vector.h"

/*----------------------------------------------------------*/

class ProblemInterface
{
public:
  virtual int ncomp() const=0;
  virtual void initialCondition(Vector& u0, double x) const=0;
  virtual void flux(Vector& flux, const Vector& u) const=0;
  virtual void boundaryfluxleft(Vector& flux, const Vector& u) const=0;
  virtual void boundaryfluxright(Vector& flux, const Vector& u) const=0;
  virtual void interiorflux(Vector& flux, const Vector& ul, const Vector& ur) const=0;
  virtual void computeVisu(Vector& wloc,const Vector& uloc) const{wloc=uloc;}
};

#endif
